from abc import ABC, abstractmethod
from langchain_core.documents import Document
import typing as T


class IFileSpliter(ABC):

    @abstractmethod
    def spliter(
        self,
        documents: T.List[Document],
        chunk_size: int = 256,
        chunk_overlap: int = 128,
    ) -> T.List[Document]: ...
